Output device control

ABSTRACT

One or more computing devices, systems, and/or methods for controlling an output device are provided. For example, features are extracted from data points of an object. A set of data points are identified from the data points based upon the set of data points having features corresponding to target features. Marker elements are assigned to the set of data points. A mapping structure is used to assign output indicators to the marker elements. The output device is controlled to provide output indicators assigned to marker elements as the marker elements become a current focus of the user navigation.

RELATED APPLICATIONS

This application claims priority to and is a divisional of U.S.application Ser. No. 16/715,098, filed on Dec. 16, 2019, entitled“OUTPUT DEVICE CONTROL”, which claims priority to and is a continuationof U.S. application Ser. No. 15/858,328, filed on Dec. 29, 2017,entitled “OUTPUT DEVICE CONTROL”. U.S. Application Ser. No. 16/715,098and U.S. application Ser. No. 15/858,328 are both incorporated byreference herein in their entirety.

BACKGROUND

Many computing devices convey information through visual informationdisplayed on a display and/or through audible information providedthrough a speaker. For example, a mobile device may display a weatherchart through a weather application user interface. A tablet may play anaudio book through an audio user interface. In this way, various typesof computing devices can convey information in various ways.

Graphical representations of data allow users to quickly get a visualsummary and key markers of the data, such as a domain of the data beingrepresented, trends, outliers, minimum values, maximum values, startingvalues, ending values, and a range of the data. Such graphicalrepresentations provide users with more in-depth access to data points.Unfortunately, graphical representations of data and/or other visuallyrepresented data (e.g., images, videos, a text document, a website,etc.) provide little value to visually impaired users, those who don'thave immediate access to the display, etc. Some computing devicesprovide visually impaired users with screen reader functionality thatreads displayed content through audio output. However, audiodescriptions of certain types of content may be inadequate for providinga user with a full understanding of the content. This leaves the userwith the difficult task of constructing a mental picture of the contentbased upon an audio description that merely recites what is currentlydisplayed (e.g. line graph trending up).

SUMMARY

In accordance with the present disclosure, one or more computing devicesand/or methods for controlling an output device are provided. In oneembodiment, a computing device may store or provide access to an object.The object may represent information, such as a chart or graphcomprising data points. It may be appreciated that any type of objectcomprising one or more datum points (e.g., values) may be processed. Thedata points of the object may be extracted, such as values extractedfrom data or metadata of the chart. Features are extracted from the datapoints, such as a minimum value, a maximum value, a trend, a change inslope such as from increasing values to decreasing values or vice versa,a first data point, a last data point, an outlier, and/or a variety ofother features of data.

A set of data points are identified from the data points of the objectbased upon the set of data points having features corresponding totarget features, such as those identified as interesting features (e.g.,changes in slope, minimum values, maximum values, etc.). Markerelements, such as invisible user interface elements, are assigned to theset of data points. In one example, marker elements are assigned toevery datum point of the object. In another example, marker elements areassigned to a subset of the data points of the object, such as the setof data points having the interesting features.

A mapping structure, mapping features to output indicators, is used toassign output indicators to marker elements based upon features of datapoints to which the marker elements are assigned. An output indicatorcan comprise a variety of different types of indicators, such as avibration of a haptic sensor, an audio signal, and/or other types ofoutput that can be provided by output devices. For example, an outputindicator of an audio signal can have certain audio featurescorresponding to certain types of values of data points, such asdifferent tones, melodies, instruments, volumes, pitches, frequencies,echoes, textures, etc. In this way, an audio signal can have a certainaudio feature that invokes a feeling corresponding to the values of datapoints, such as a particular sound at a particular frequency and volumeto convey a stock price dropping sharply (e.g., a sound of pots and pansdropping onto a floor).

Navigation among the marker elements is facilitated, such as through atouch screen of the computing device, voice commands spoken to thecomputing device, or any other type of user input. In one example, thenavigation is provided through a user interface through which the objectis rendered. In another example, the navigation is provided separate ofthe object, such as where the object is a chart file not displayed onthe computing device but is stored within storage of the computingdevice. An output device, such as an audio device or a haptic devicearray, is controlled to provide output indicators assigned to markerelements as the marker elements become the current focus of the userinput (e.g., the current focus may be a region of the display underneatha finger of the user). In this way, the user can gesture, swipe, orperform other input to navigate between marker elements in order to havecorresponding output indicators provided to the user. Based upon thespeed of the user's navigation, a macro view (e.g., zoom out to a largergranular view of the chart) or a micro view (e.g., zoom into aparticular region of the chart for a finer granular view of the chart)of the object is provided.

DESCRIPTION OF THE DRAWINGS

While the techniques presented herein may be embodied in alternativeforms, the particular embodiments illustrated in the drawings are only afew examples that are supplemental of the description provided herein.These embodiments are not to be interpreted in a limiting manner, suchas limiting the claims appended hereto.

FIG. 1 is an illustration of a scenario involving various examples ofnetworks that may connect servers and clients.

FIG. 2 is an illustration of a scenario involving an exampleconfiguration of a server that may use and/or implement at least aportion of the techniques presented herein.

FIG. 3 is an illustration of a scenario involving an exampleconfiguration of a client that may use and/or implement at least aportion of the techniques presented herein.

FIG. 4 is a flow chart illustrating an example method for controlling anoutput device.

FIG. 5A is a component block diagram illustrating an example system forcontrolling an output device, where features are extracted from datapoints of an object.

FIG. 5B is a component block diagram illustrating an example system forcontrolling an output device, where a set of data points are identifiedfrom data points of an object.

FIG. 5C is a component block diagram illustrating an example system forcontrolling an output device, where marker elements are assigned to datapoints.

FIG. 5D is a component block diagram illustrating an example system forcontrolling an output device, where output indicators are assigned tomarker elements.

FIG. 5E is a component block diagram illustrating an example system forcontrolling an output device, where an output indicator is provided.

FIG. 6A is a component block diagram illustrating an example system forcontrolling an output device, where user navigation is detected.

FIG. 6B is a component block diagram illustrating an example system forcontrolling an output device, where an object is zoomed into a microview of the object.

FIG. 7 is an illustration of a scenario featuring an examplenon-transitory machine readable medium in accordance with one or more ofthe provisions set forth herein.

DETAILED DESCRIPTION

Subject matter will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific example embodiments. Thisdescription is not intended as an extensive or detailed discussion ofknown concepts. Details that are known generally to those of ordinaryskill in the relevant art may have been omitted, or may be handled insummary fashion.

The following subject matter may be embodied in a variety of differentforms, such as methods, devices, components, and/or systems.Accordingly, this subject matter is not intended to be construed aslimited to any example embodiments set forth herein. Rather, exampleembodiments are provided merely to be illustrative. Such embodimentsmay, for example, take the form of hardware, software, firmware or anycombination thereof.

1. Computing Scenario

The following provides a discussion of some types of computing scenariosin which the disclosed subject matter may be used and/or implemented.

1.1. Networking

FIG. 1 is an interaction diagram of a scenario 100 illustrating aservice 102 provided by a set of servers 104 to a set of client devices110 via various types of networks. The servers 104 and/or client devices110 may be capable of transmitting, receiving, processing, and/orstoring many types of signals, such as in memory as physical memorystates.

The servers 104 of the service 102 may be internally connected via alocal area network 106 (LAN), such as a wired network where networkadapters on the respective servers 104 are interconnected via cables(e.g., coaxial and/or fiber optic cabling), and may be connected invarious topologies (e.g., buses, token rings, meshes, and/or trees). Theservers 104 may be interconnected directly, or through one or more othernetworking devices, such as routers, switches, and/or repeaters. Theservers 104 may use a variety of physical networking protocols (e.g.,Ethernet and/or Fiber Channel) and/or logical networking protocols(e.g., variants of an Internet Protocol (IP), a Transmission ControlProtocol (TCP), and/or a User Datagram Protocol (UDP). The local areanetwork 106 may include, e.g., analog telephone lines, such as a twistedwire pair, a coaxial cable, full or fractional digital lines includingT1, T2, T3, or T4 type lines, Integrated Services Digital Networks(ISDNs), Digital Subscriber Lines (DSLs), wireless links includingsatellite links, or other communication links or channels, such as maybe known to those skilled in the art. The local area network 106 may beorganized according to one or more network architectures, such asserver/client, peer-to-peer, and/or mesh architectures, and/or a varietyof roles, such as administrative servers, authentication servers,security monitor servers, data stores for objects such as files anddatabases, business logic servers, time synchronization servers, and/orfront-end servers providing a user-facing interface for the service 102.

Likewise, the local area network 106 may comprise one or moresub-networks, such as may employ differing architectures, may becompliant or compatible with differing protocols and/or may interoperatewithin the local area network 106. Additionally, a variety of local areanetworks 106 may be interconnected; e.g., a router may provide a linkbetween otherwise separate and independent local area networks 106.

In the scenario 100 of FIG. 1 , the local area network 106 of theservice 102 is connected to a wide area network 108 (WAN) that allowsthe service 102 to exchange data with other services 102 and/or clientdevices 110. The wide area network 108 may encompass variouscombinations of devices with varying levels of distribution andexposure, such as a public wide-area network (e.g., the Internet) and/ora private network (e.g., a virtual private network (VPN) of adistributed enterprise).

In the scenario 100 of FIG. 1 , the service 102 may be accessed via thewide area network 108 by a user 112 of one or more client devices 110,such as a portable media player (e.g., an electronic text reader, anaudio device, or a portable gaming, exercise, or navigation device); aportable communication device (e.g., a camera, a phone, a wearable or atext chatting device); a workstation; and/or a laptop form factorcomputer. The respective client devices 110 may communicate with theservice 102 via various connections to the wide area network 108. As afirst such example, one or more client devices 110 may comprise acellular communicator and may communicate with the service 102 byconnecting to the wide area network 108 via a wireless local areanetwork 106 provided by a cellular provider. As a second such example,one or more client devices 110 may communicate with the service 102 byconnecting to the wide area network 108 via a wireless local areanetwork 106 provided by a location such as the user's home or workplace(e.g., a WiFi (Institute of Electrical and Electronics Engineers (IEEE)Standard 802.11) network or a Bluetooth (IEEE Standard 802.15.1)personal area network). In this manner, the servers 104 and the clientdevices 110 may communicate over various types of networks. Other typesof networks that may be accessed by the servers 104 and/or clientdevices 110 include mass storage, such as network attached storage(NAS), a storage area network (SAN), or other forms of computer ormachine readable media.

1.2. Server Configuration

FIG. 2 presents a schematic architecture diagram 200 of a server 104that may use at least a portion of the techniques provided herein. Sucha server 104 may vary widely in configuration or capabilities, alone orin conjunction with other servers, in order to provide a service such asthe service 102.

The server 104 may comprise one or more processors 210 that processinstructions. The one or more processors 210 may optionally include aplurality of cores; one or more coprocessors, such as a mathematicscoprocessor or an integrated graphical processing unit (GPU); and/or oneor more layers of local cache memory. The server 104 may comprise memory202 storing various forms of applications, such as an operating system204; one or more server applications 206, such as a hypertext transportprotocol (HTTP) server, a file transfer protocol (FTP) server, or asimple mail transport protocol (SMTP) server; and/or various forms ofdata, such as a database 208 or a file system. The server 104 maycomprise a variety of peripheral components, such as a wired and/orwireless network adapter 214 connectible to a local area network and/orwide area network; one or more storage components 216, such as a harddisk drive, a solid-state storage device (SSD), a flash memory device,and/or a magnetic and/or optical disk reader.

The server 104 may comprise a mainboard featuring one or morecommunication buses 212 that interconnect the processor 210, the memory202, and various peripherals, using a variety of bus technologies, suchas a variant of a serial or parallel AT Attachment (ATA) bus protocol; aUniform Serial Bus (USB) protocol; and/or Small Computer SystemInterface (SCI) bus protocol. In a multibus scenario, a communicationbus 212 may interconnect the server 104 with at least one other server.Other components that may optionally be included with the server 104(though not shown in the schematic architecture diagram 200 of FIG. 2 )include a display; a display adapter, such as a graphical processingunit (GPU); input peripherals, such as a keyboard and/or mouse; and aflash memory device that may store a basic input/output system (BIOS)routine that facilitates booting the server 104 to a state of readiness.

The server 104 may operate in various physical enclosures, such as adesktop or tower, and/or may be integrated with a display as an“all-in-one” device. The server 104 may be mounted horizontally and/orin a cabinet or rack, and/or may simply comprise an interconnected setof components. The server 104 may comprise a dedicated and/or sharedpower supply 218 that supplies and/or regulates power for the othercomponents. The server 104 may provide power to and/or receive powerfrom another server and/or other devices. The server 104 may comprise ashared and/or dedicated climate control unit 220 that regulates climateproperties, such as temperature, humidity, and/or airflow. Many suchservers 104 may be configured and/or adapted to use at least a portionof the techniques presented herein.

1.3. Client Device Configuration

FIG. 3 presents a schematic architecture diagram 300 of a client device110 whereupon at least a portion of the techniques presented herein maybe implemented. Such a client device 110 may vary widely inconfiguration or capabilities, in order to provide a variety offunctionality to a user such as the user 112. The client device 110 maybe provided in a variety of form factors, such as a desktop or towerworkstation; an “all-in-one” device integrated with a display 308; alaptop, tablet, convertible tablet, or palmtop device; a wearable devicemountable in a headset, eyeglass, earpiece, and/or wristwatch, and/orintegrated with an article of clothing; and/or a component of a piece offurniture, such as a tabletop, and/or of another device, such as avehicle or residence. The client device 110 may serve the user in avariety of roles, such as a workstation, kiosk, media player, gamingdevice, and/or appliance.

The client device 110 may comprise one or more processors 310 thatprocess instructions. The one or more processors 310 may optionallyinclude a plurality of cores; one or more coprocessors, such as amathematics coprocessor or an integrated graphical processing unit(GPU); and/or one or more layers of local cache memory. The clientdevice 110 may comprise memory 301 storing various forms ofapplications, such as an operating system 303; one or more userapplications 302, such as document applications, media applications,file and/or data access applications, communication applications such asweb browsers and/or email clients, utilities, and/or games; and/ordrivers for various peripherals. The client device 110 may comprise avariety of peripheral components, such as a wired and/or wirelessnetwork adapter 306 connectible to a local area network and/or wide areanetwork; one or more output components, such as a display 308 coupledwith a display adapter (optionally including a graphical processing unit(GPU)), a haptic feedback array, a sound adapter coupled with a speaker,and/or a printer; input devices for receiving input from the user, suchas a keyboard 311, a tactile feedback sensor, a mouse, a microphone, acamera, and/or a touch-sensitive component of the display 308; and/orenvironmental sensors, such as a global positioning system (GPS)receiver 319 that detects the location, velocity, and/or acceleration ofthe client device 110, a compass, accelerometer, and/or gyroscope thatdetects a physical orientation of the client device 110. Othercomponents that may optionally be included with the client device 110(though not shown in the schematic architecture diagram 300 of FIG. 3 )include one or more storage components, such as a hard disk drive, asolid-state storage device (SSD), a flash memory device, and/or amagnetic and/or optical disk reader; and/or a flash memory device thatmay store a basic input/output system (BIOS) routine that facilitatesbooting the client device 110 to a state of readiness; and a climatecontrol unit that regulates climate properties, such as temperature,humidity, and airflow.

The client device 110 may comprise a mainboard featuring one or morecommunication buses 312 that interconnect the processor 310, the memory301, and various peripherals, using a variety of bus technologies, suchas a variant of a serial or parallel AT Attachment (ATA) bus protocol;the Uniform Serial Bus (USB) protocol; and/or the Small Computer SystemInterface (SCI) bus protocol. The client device 110 may comprise adedicated and/or shared power supply 318 that supplies and/or regulatespower for other components, and/or a battery 304 that stores power foruse while the client device 110 is not connected to a power source viathe power supply 318. The client device 110 may provide power to and/orreceive power from other client devices.

In some scenarios, as a user 112 interacts with a software applicationon a client device 110 (e.g., an instant messenger and/or electronicmail application), descriptive content in the form of signals or storedphysical states within memory (e.g., an email address, instant messengeridentifier, phone number, postal address, message content, date, and/ortime) may be identified. Descriptive content may be stored, typicallyalong with contextual content. For example, the source of a phone number(e.g., a communication received from another user via an instantmessenger application) may be stored as contextual content associatedwith the phone number. Contextual content, therefore, may identifycircumstances surrounding receipt of a phone number (e.g., the date ortime that the phone number was received), and may be associated withdescriptive content. Contextual content, may, for example, be used tosubsequently search for associated descriptive content. For example, asearch for phone numbers received from specific individuals, receivedvia an instant messenger application or at a given date or time, may beinitiated. The client device 110 may include one or more servers thatmay locally serve the client device 110 and/or other client devices ofthe user 112 and/or other individuals. For example, a locally installedwebserver may provide web content in response to locally submitted webrequests. Many such client devices 110 may be configured and/or adaptedto use at least a portion of the techniques presented herein.

2. Presented Techniques

One or more computing devices and/or techniques for controlling anoutput device is provided. The output device, such as an audio device orhaptic device, is controlled to provide output indicators used to conveyinformation relating to data points of an object, such as a chart orgraph. Such techniques improve the ability of visually impaired usersand/or other users to interact with information conveyed through acomputing device, such as an improved ability to understand denseinformation such as the ability to understand trends of data pointswithin a graph or chart. Particular sounds, volume levels, pitches,instruments, songs, melodies, textures, tones, and/or other audio signalfeatures can be used to convey emotional information associated with thedata points, such as a sharp rise in a stock price.

An embodiment of controlling an output device is illustrated by anexample method 400 of FIG. 4 . At 402, an object 504, comprising aplurality of data points 506, is identified, as illustrated by system500 of FIG. 5A. That is, a computing device 502 may store or provideaccess to the object 504, such as a chart, a graph, an image, a textdocument, a spreadsheet, a file, a user interface element, and/or anyother type of data object with one or more datum points (e.g., one ormore values). In one example, the object 504 may be identified basedupon the object 504 being rendered through a user interface on a displayof the computing device 502. Data of the user interface (e.g., datarendered through the user interface, data within a file from which theuser interface is being executed, data of the user interface storedwithin memory, etc.) or metadata describing the user interface may beevaluated to identify the object 504. In another example, user signalsof a user of the computing device 502 are evaluated to determine thatthe user has an interest in the object 504 (e.g., even if the object 504is not currently being rendered through the display). The user signalsmay comprise a calendar entry (e.g., to check sports scores), an email(e.g., describing football stats a friend shared), a social network post(e.g., a post indicating that the user is writing a sport researchpaper), a routine activity of the user (e.g., checking sports scoresevery evening around 5:00 pm), a current location of the computingdevice 502 (e.g., located near a football stadium), etc. Such usersignals may indicate that the user has an interest in a chart object offootball sports scores and statistics accessible over a network from aremote device through a website.

At 404, features 518 are extracted from the plurality of data points506. The features 518 may correspond to various trends, values, or rangeof values that may be interesting, such as a maximum value 508, aminimum value 512, a change 510 from increasing values to decreasingvalues, negative values, positive values, outliers, etc. At 406, a setof data points 522 are identified from the plurality of data points 506based upon the set of data points 522 having features 518 correspondingto target features, as illustrated by FIG. 5B. Target features maycorrespond to outliers, data points where values change from increasingvalues to decreasing values or vice versa, maximum values, minimumvalues, trends, etc.

At 408, marker elements are assigned 524 to the set of data points 522within the object 504, as illustrated by FIG. 5C. In one example, markerelements are assigned 524 to each data point within the plurality ofdata points 506. In another example, marker elements are assigned 524 toa subset of the plurality of data points 506, such as to data pointswithin the set of data points 522 that is a subset of the plurality ofdata points 506. For example, a first marker element 526 is assigned toone or more data points proximate to the maximum value 508, which mayalso correspond to an outlier feature. A second marker element 528 isassigned to a change in slope from increasing values to decreasingvalues. A third marker element 530 is assigned to a change in slope fromdecreasing values to increasing values. A fourth marker element 532 isassigned to a change in slope from increasing values to decreasingvalues. A fifth marker element 534 is assigned to one or more datapoints proximate to the minimum value 512. In this way, a variety ofother marker elements, such as a sixth marker element 536, a seventhmarker element 538, an eighth marker element 540, a ninth marker element542, and/or other marker elements may be assigned to interesting datapoints or ranges of data points within the object 504. In one example, amarker element may comprise an invisible user interface elementpopulated within the user interface through which the object 504 isrenderable.

At 410, a mapping structure 520 is used to assign 544 output indicatorsto marker elements based upon features 518 of data points to which themarker elements are assigned, as illustrated by FIG. 5D. The mappingstructure 520 may map features to output indicators. For example, a typeof output indicator may be an audio signal. Output indicators, such asthe audio signals, can vary based upon various output features, such asa selected melody, a selected instrument, a selected tone, a selectedtype of echo, a selected volume, a selected pitch, a selected frequency,a selected texture, vibration intensity, vibration duration, or anyother type of output feature that can be used to generate differentoutput indicators signals.

Features of data points, such as values of data points, trends, slopes,changes from increasing to decreasing values or vice versa, negativevalues, positive values, maximum values, minimum values, types of databeing represented (e.g., stock values, sports scores, bank accountvalues, etc.), and/or other features can be mapped to particular outputindicators such as audio signals having particular audio signal outputfeatures. For example, a sharp rise in stock values may be assigned toan output indicator with a particular instrument, volume, and frequency,whereas a sharp decline in stock values may be assigned to an outputindicator with a different instrument, volume, and frequency. For sportsscores, different volumes, instruments, and/or other types of outputfeatures may be used compared to output features of output indicatorsused to represent stock values or other types of values. In anotherexample, if output indicators are a different type of output such ashaptic device vibrations, then different vibration intensities,vibration lengths, etc. can be used to represent different types of datapoints (e.g., sports scores compared to stock values) and/or data pointshaving different types of features (e.g., a minimum value compared to anoutlier).

At 412, user navigation is facilitated among the marker elements, asillustrated in FIG. 5E. User navigation can correspond to touch input ona touch screen (e.g., a swipe gesture), voice commands, mouse input,keyboard input, eye movement, body movement (e.g., within a virtualreality or augmented reality environment), and/or a variety of othertypes of input. For example, user input 550 of a user swiping a fingeracross the user interface through which the object 504 is rendered maybe detected. As the user navigates among the marker elements, markerelements will come into a current focus (e.g., a marker elementunderneath a finger of the user that the user is using to swipe throughdata points of the object 504). An output device 514, such as an audiodevice, is controlled to provide output indicators assigned to markerelements as the marker elements become the current focus of the userinput, such as an output indicator 552 of a marker element underneaththe finger of the user. The output indicator 552 may correspond to anaudio signal, a modification applied to a song or melody already beingplayed, a vibration of a haptic device, output provided through anaugmented reality or virtual reality environment, etc.

In one example, a display location of the marker element that is thecurrent focus is determined (e.g., x/y coordinates). One or more hapticdevices of a haptic device array that are proximate to the displaylocation are identified. The haptic device array is controlled toprovide the output indicator 552 by invoking the one or more hapticdevices proximate to the display location to activate, such as tovibrate.

In one example, an indicator of a last accessed marker element ismaintained. In response to determining a context change from a userinterface associated with the object 504 to a second user interface(e.g., the user navigates from the user interface through which theobject 504 is rendered to a different user interface such as a webbrowser interface, a game interface, an email app interface, etc.), theindicator may be persisted to storage, such as to memory, a storagedevice, etc. In response to determining a second context change to theuser interface associated with the object 504, the indicator may beextracted from the storage. The current focus is set to the lastaccessed marker element (e.g., the last accessed marker element isbrought into focus where the finger of the user is currently positioned,and a zoom level, such as a macro view or micro view, of the object 504may be restored).

User navigation may be tracked to determine whether the user wants tozoom into a finer granularity of data points or zoom out to a morecoarse granular view of the data points, as illustrated by the examplesystem 600 of FIGS. 6A-6B. For example, a computing device 602 mayrender a graph object 604 through a user interface at a first level ofgranularity 606. The graph object 604 may represent thousands of datapoints, and thus the first level of granularity 606 may represent asampling of data points (e.g., display of a line as opposed to a displayof thousands of individual data points). A first marker element 612, asecond marker element 614, a third marker element 616, a fourth markerelement 618, a fifth marker element 620, a sixth marker element 622, aseventh marker element 624, an eighth marker element 626, and a ninthmarker element 628 are assigned to data points or ranges of data pointswithin the graph object 604. Output indicators are assigned to themarker elements using the mapping structure 610 based upon features ofdata points to which the marker elements are assigned. In this way, anoutput device 608 is controlled to provide output indicators as the usernavigation encounters marker elements.

In one example, user navigation is detected 630 within the graph object604, as illustrated by FIG. 6A. The user navigation may be indicative ofthe user wanting to zoom 640 into a region of the graph object 604 inorder to view a finer granularity of data points within the region(e.g., the user starts to slow down scrolling through the data points orstops on a particular data point or marker element). Display of thegraph object 604 may be updated according to a second level ofgranularity 642 corresponding to a zoomed in view of the region, such asto display a micro scale object comprising a second set of data points,as illustrated by FIG. 6B. A first micro marker element 644, a secondmicro marker element 646, a third micro marker element 648, a fourthmicro marker element 650, and a fifth micro marker element 652 areassigned to data points within the second set of data points. Themapping structure 610 is used to assign output indicators to the firstmicro marker element 644, the second micro marker element 646, the thirdmicro marker element 648, the fourth micro marker element 650, and thefifth micro marker element 652 based upon features of data points towhich micro marker elements are assigned. The output device 608 iscontrolled to provide output indicators assigned to the micro markerelements as the micro marker elements become the current focus of theuser navigation.

In another example, an input speed of the user navigation is determined.In response to the input speed exceeding a threshold speed (e.g., theuser is scrolling quickly through the graph object 604), a macro scaleobject comprising a second set of data points from the plurality of datapoints is generated. The second set of data points may comprise acoarser macro view of the graph object 604. Macro marker elements areassigned to the second set of data points based upon features of datapoints within the second set of data points. The mapping structure 610is used to assign output indicators to the macro marker elements basedupon features of data points to which macro marker elements areassigned. The output device 608 is controlled to provide outputindicators assigned to the macro marker elements as the macro markerelements become the current focus of the user navigation.

In another example, a current input speed of the user navigation isdetermined. In response to the current input speed falling below athreshold speed (e.g., the user starts to slowly scroll through thegraph object 604), a micro scale object comprising a third set of datapoints from the plurality of data points is generated. The third set ofdata points may comprise a finer micro view of the graph object 604.Micro marker elements are assigned to the third set of data points basedupon features of data points within the third set of data points. Themapping structure 610 is used to assign output indicators to the micromarker elements based upon features of data points to which micro markerelements are assigned. The output device 608 is controlled to provideoutput indicators assigned to the micro marker elements as the micromarker elements become the current focus of the user navigation.

FIG. 7 is an illustration of a scenario 700 involving an examplenon-transitory machine readable medium 702. The non-transitory machinereadable medium 702 may comprise processor-executable instructions 712that when executed by a processor 716 cause performance (e.g., by theprocessor 716) of at least some of the provisions herein. Thenon-transitory machine readable medium 702 may comprise a memorysemiconductor (e.g., a semiconductor using static random access memory(SRAM), dynamic random access memory (DRAM), and/or synchronous dynamicrandom access memory (SDRAM) technologies), a platter of a hard diskdrive, a flash memory device, or a magnetic or optical disc (such as acompact disk (CD), a digital versatile disk (DVD), or floppy disk). Theexample non-transitory machine readable medium 702 storescomputer-readable data 704 that, when subjected to reading 706 by areader 710 of a device 708 (e.g., a read head of a hard disk drive, or aread operation invoked on a solid-state storage device), express theprocessor-executable instructions 712. In some embodiments, theprocessor-executable instructions 712, when executed cause performanceof operations, such as at least some of the example method 400 of FIG. 4, for example. In some embodiments, the processor-executableinstructions 712 are configured to cause implementation of a system,such as at least some of the example system 500 of FIGS. 5A-5E and/or atleast some of the example system 600 of FIGS. 6A-6B, for example.

3. Usage of Terms

As used in this application, “component,” “module,” “system”,“interface”, and/or the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents may reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers.

Unless specified otherwise, “first,” “second,” and/or the like are notintended to imply a temporal aspect, a spatial aspect, an ordering, etc.Rather, such terms are merely used as identifiers, names, etc. forfeatures, elements, items, etc. For example, a first object and a secondobject generally correspond to object A and object B or two different ortwo identical objects or the same object.

Moreover, “example” is used herein to mean serving as an example,instance, illustration, etc., and not necessarily as advantageous. Asused herein, “or” is intended to mean an inclusive “or” rather than anexclusive “or.” In addition, “a” and “an” as used in this applicationare generally be construed to mean “one or more” unless specifiedotherwise or clear from context to be directed to a singular form. Also,at least one of A and B and/or the like generally means A or B or both Aand B. Furthermore, to the extent that “includes”, “having”, “has”,“with”, and/or variants thereof are used in either the detaileddescription or the claims, such terms are intended to be inclusive in amanner similar to the term “comprising”.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing at least some of the claims.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. Of course, manymodifications may be made to this configuration without departing fromthe scope or spirit of the claimed subject matter.

Various operations of embodiments are provided herein. In an embodiment,one or more of the operations described may constitute computer readableinstructions stored on one or more computer readable media, which ifexecuted by a computing device, will cause the computing device toperform the operations described. The order in which some or all of theoperations are described should not be construed as to imply that theseoperations are necessarily order dependent. Alternative ordering will beappreciated by one skilled in the art having the benefit of thisdescription. Further, it will be understood that not all operations arenecessarily present in each embodiment provided herein. Also, it will beunderstood that not all operations are necessary in some embodiments.

Also, although the disclosure has been shown and described with respectto one or more implementations, equivalent alterations and modificationswill occur to others skilled in the art based upon a reading andunderstanding of this specification and the annexed drawings. Thedisclosure includes all such modifications and alterations and islimited only by the scope of the following claims. In particular regardto the various functions performed by the above described components(e.g., elements, resources, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure. In addition, while aparticular feature of the disclosure may have been disclosed withrespect to only one of several implementations, such feature may becombined with one or more other features of the other implementations asmay be desired and advantageous for any given or particular application.

What is claimed is:
 1. A method of controlling an output device,comprising: identifying an object comprising a plurality of data points;extracting features from the plurality of data points; identifying a setof data points from the plurality of data points based upon the set ofdata points having features corresponding to target features; assigningmarker elements to the set of data points; using a mapping structure,mapping features to output indicators, to assign output indicators tomarker elements; assigning one or more audio signal features to at leastone of the output indicators based upon one or more values of one ormore data points within the object, wherein the assigning comprisesassigning a first audio signal feature to a first output indicator basedupon one or more first changes in value corresponding to the one or moredata points; and facilitating user navigation among the marker elementsbased upon the one or more audio signal features.
 2. The method of claim1, wherein the assigning one or more audio signal features comprises:assigning a first audio signal feature to a first output indicator basedupon a first value of a first data point within the object.
 3. Themethod of claim 2, wherein the assigning one or more audio signalfeatures comprises: assigning a second audio signal feature to a secondoutput indicator based upon a second value of a second data point withinthe object.
 4. The method of claim 1, comprising: maintaining anindicator of a last accessed marker element.
 5. The method of claim 4,comprising: in response to determining a context change from a userinterface associated with the object to a second user interface,persisting the indicator into memory.
 6. The method of claim 5,comprising: in response to determining a second context change to theuser interface associated with the object, extracting the indicator fromthe memory; and setting a current focus of the user navigation to thelast accessed marker element.
 7. The method of claim 1, wherein a markerelement comprises an invisible user interface element populated within auser interface.
 8. The method of claim 1, wherein an output indicatorprovided via the output device comprises an audio signal.
 9. The methodof claim 8, wherein the audio signal comprises at least one of aselected melody from a set of melodies, a selected tone from a set oftones, a selected pitch from a set of pitches, a selected frequency froma set of frequencies, a selected amplitude from a set of amplitudes, aselected texture from a set of textures, a selected instrument from aset of instruments, or an echo.
 10. A computing device comprising: aprocessor; and memory comprising processor-executable instructions thatwhen executed by the processor cause performance of operations, theoperations comprising: identifying an object comprising a plurality ofdata points; extracting features from the plurality of data points;identifying a set of data points from the plurality of data points basedupon the set of data points having features corresponding to targetfeatures; assigning marker elements to the set of data points; using amapping structure, mapping features to output indicators, to assignoutput indicators to marker elements; in response to determining acontext change from a user interface associated with the object to asecond user interface, persisting an indicator of a last accessed markerelement into memory; assigning one or more audio signal features to atleast one of the output indicators based upon one or more values of oneor more data points within the object; and facilitating user navigationamong the marker elements based upon the one or more audio signalfeatures.
 11. The computing device of claim 10, wherein the assigningone or more audio signal features comprises: assigning a first audiosignal feature to a first output indicator based upon a first value of afirst data point within the object.
 12. The computing device of claim11, wherein the assigning one or more audio signal features comprises:assigning a second audio signal feature to a second output indicatorbased upon a second value of a second data point within the object. 13.The computing device of claim 10, wherein the operations comprise:maintaining the indicator of the last accessed marker element.
 14. Thecomputing device of claim 13, wherein the operations comprise: inresponse to determining a second context change to the user interfaceassociated with the object, extracting the indicator from the memory.15. The computing device of claim 14, wherein the operations comprise:setting a current focus of the user navigation to the last accessedmarker element.
 16. A non-transitory machine readable medium havingstored thereon processor-executable instructions that when executedcause performance of operations for controlling an output device, theoperations comprising: identifying an object comprising a plurality ofdata points; extracting features from the plurality of data points;identifying a set of data points from the plurality of data points basedupon the set of data points having features corresponding to targetfeatures; assigning marker elements to the set of data points; using amapping structure, mapping features to output indicators, to assignoutput indicators to marker elements; assigning one or more audio signalfeatures to at least one of the output indicators based upon one or morevalues of one or more data points within the object, wherein theassigning comprises assigning a first audio signal feature to a firstoutput indicator based upon one or more first changes in valuecorresponding to the one or more data points; and facilitating usernavigation among the marker elements based upon the one or more audiosignal features.
 17. The non-transitory machine readable medium of claim16, wherein a marker element comprises an invisible user interfaceelement populated within a user interface.
 18. The non-transitorymachine readable medium of claim 16, wherein an output indicatorprovided via the output device comprises an audio signal.
 19. Thenon-transitory machine readable medium of claim 16, wherein the firstaudio signal comprises at least one of a selected melody from a set ofmelodies, a selected tone from a set of tones, a selected pitch from aset of pitches, a selected frequency from a set of frequencies, aselected amplitude from a set of amplitudes, a selected texture from aset of textures, a selected instrument from a set of instruments, or anecho.
 20. The non-transitory machine readable medium of claim 16,wherein the assigning one or more audio signal features comprises:assigning a first audio signal feature to a first output indicator basedupon a first value of a first data point within the object; andassigning a second audio signal feature to a second output indicatorbased upon a second value of a second data point within the object.